home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 26
/
Cream of the Crop 26.iso
/
program
/
qbsnip.zip
/
DISKSER.BAS
< prev
next >
Wrap
BASIC Source File
|
1997-06-20
|
831b
|
37 lines
' DISKSER.BAS
' by Bob Perkins (QUIK_BAS FidoNet Echo)
'
' Donated to the public domain
' No warranties or guarantees are expressed or implied.
'
' Purpose: Read the volume serial number
DECLARE FUNCTION diskser$ (drive%)
'$INCLUDE: 'QB.BI'
'0 = A:, 1 = B:, 2 = C:, 3 = D:, 4 = E:, etc.
CLS : PRINT diskser$(2)
FUNCTION diskser$ (drive%)
DIM regsX AS regtypeX
regsX.ax = &H6900: regsX.bx = drive% + 1
dosdata$ = STRING$(25, 0)
regsX.ds = VARSEG(dosdata$): regsX.dx = SADD(dosdata$)
FOR i% = 1 TO 3 'Tries to read 3 times (for slow floppy)
interruptX &H21, regsX, regsX
IF (regsX.flags AND 1) THEN
diskser$ = ""
ELSE
lowbyte% = CVI(MID$(dosdata$, 3, 2))
hibyte% = CVI(MID$(dosdata$, 5, 2))
diskser$ = HEX$(hibyte%) + "-" + HEX$(lowbyte%)
EXIT FOR
END IF
NEXT
END FUNCTION